class ActionSpace:
    """Action Space implementation (Section 3.4)"""
    def __init__(self):
        self.q_table = {}
        self.available_actions = {
            "move_forward",    # +x, +y
            "move_backward",   # -x, -y
            "turn_left",       # -x, +y
            "turn_right",      # +x, -y
            "move_up",         # +z
            "move_down",       # -z
            "diagonal_up_forward",     # +x, +y, +z
            "diagonal_down_backward"   # -x, -y, -z
        }
        
    def get_possible_actions(self, state):
        """Get all possible actions for given state"""
        return self.available_actions
        
    def execute(self, action):
        """Execute action and return result"""
        if action not in self.available_actions:
            raise ValueError(f"Unknown action: {action}")
        return action 